home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / jockey / handlers / madwifi.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2009-10-28  |  3KB  |  72 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import logging
  5. import subprocess
  6. import os.path as os
  7. from jockey.oslib import OSLib
  8. from jockey.handlers import Handler, KernelModuleHandler
  9.  
  10. def _(x):
  11.     return x
  12.  
  13.  
  14. class MadwifiHandler(KernelModuleHandler):
  15.     '''Handler for the Madwifi driver.
  16.  
  17.     The free ath5k driver should work with most Atheros cards nowadays, but on
  18.     some models madwifi still works better (or at all).  This driver (ath_pci)
  19.     should be disabled by default by blacklisting it in self.blacklist_file.
  20.     '''
  21.     
  22.     def __init__(self, ui):
  23.         KernelModuleHandler.__init__(self, ui, 'ath_pci', name = _('Alternate Atheros "madwifi" driver'), description = _('Alternate "madwifi" driver for Atheros wireless LAN cards.'), rationale = _('Only activate this driver if you have problems with your wireless LAN connection.\n\nThe free "ath5k" driver should work with most Atheros cards nowadays, but on some computers this alternate (but proprietary) driver still works better, or at all.'))
  24.         self._free = False
  25.         self.announce = not self.module_loaded('ath5k')
  26.         self.blacklist_file = os.path.join(os.path.dirname(OSLib.inst.module_blacklist_file), 'blacklist-ath_pci.conf')
  27.  
  28.     
  29.     def can_change(self):
  30.         if not os.path.exists(self.blacklist_file):
  31.             return _('You removed the configuration file %s') % self.blacklist_file
  32.  
  33.     
  34.     def enable(self):
  35.         Handler.enable(self)
  36.         self._update_blacklist('ath5k')
  37.         subprocess.call([
  38.             OSLib.inst.modprobe_path,
  39.             self.module])
  40.         self.read_loaded_modules()
  41.         return self.rebind(self.module)
  42.  
  43.     
  44.     def disable(self):
  45.         self._update_blacklist(self.module)
  46.         self.read_loaded_modules()
  47.         Handler.disable(self)
  48.         return False
  49.  
  50.     
  51.     def _update_blacklist(self, module):
  52.         '''Update self.blacklist_file to blacklist given module.'''
  53.         logging.debug('MadwifiHandler._update_blacklist(%s)' % module)
  54.         lines = []
  55.         f = open(self.blacklist_file)
  56.         for l in f:
  57.             if l.startswith('blacklist '):
  58.                 l = 'blacklist %s\n' % module
  59.             
  60.             lines.append(l)
  61.         
  62.         f.close()
  63.         f = open(self.blacklist_file + '.new', 'w')
  64.         for l in lines:
  65.             f.write(l)
  66.         
  67.         f.close()
  68.         os.rename(self.blacklist_file + '.new', self.blacklist_file)
  69.         OSLib.inst._load_module_blacklist()
  70.  
  71.  
  72.